package com.cc.dao;

import com.cc.entity.Products;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @ClassName: ProductsDao
 * @Description: 商品Dao
 * @Author: 晓东√
 * @Date: 2024-09-20 08:25
 * @Version: 1.0
 **/
public interface ProductsDao {

    /**
     * 获取所有商品
     * @param productName 商品名称
     * @param status 状态
     * @return
     */
    public List<Products> selectAll(@Param("productName") String productName,
                                    @Param("status") String status);

    /**
     *  修改商品
     * @param productName  商品名称
     * @param price   商品价格
     * @param stockQuantity 库存
     * @param description 描述
     * @param id  商品Id
     * @return
     */
    int updateProduct(@Param("productName") String productName,
                     @Param("price") Double price,
                     @Param("stockQuantity") int stockQuantity,
                     @Param("description") String description,
                     @Param("id") int id);

    /**
     * 修改商品状态
     * @param status  'active' 激活,'inactive' 未激活
     * @param id  商品Id
     * @return
     */
    int updateProductStatus(@Param("status") String status,
                            @Param("id") int id);

    /**
     * 新增商品
     * @param product
     * @return
     */
    int addProduct(Products product);

    /**
     * 通过商品Id 删除商品  更改商品状态为 deleted
      * @param id
     * @return
     */
    int delProduct(@Param("id") int id);

    /**
     * 通过商品Id集合  更改商品状态为 deleted
     * @param ids
     * @return
     */
    int delProducts(@Param("ids") List<Integer> ids);





}
